#################################################################################################
#	Make-File for Door Controller Program							#
#	Compiler: GNU g++									#
#	One Touch Solutions									#
#################################################################################################


#compile flags
CFLAGS = -c  
LFLAGS = -O2 

#VPATH = src:headers

#top-level rule to compile whole program
all: Controller

#rule for making door.o
door.o: door.cpp door.h Controller.cpp
	g++ $(CFLAGS) door.cpp

#rule for making doorcontroller.o
doorcontroller.o: doorcontroller.cpp doorcontroller.h door.h custom.h door.cpp Controller.cpp
	g++ $(CFLAGS) doorcontroller.cpp

#rule for making Controller.o
Controller.o: Controller.cpp custom.h door.h doorcontroller.h door.cpp utility.h
	g++ $(CFLAGS) Controller.cpp

#rule for making useractivity.o	
useractivity.o: useractivity.cpp useractivity.h custom.h Controller.cpp
	g++ $(CFLAGS) useractivity.cpp

#Linking of object files
Controller: Controller.o doorcontroller.o custom.h door.h doorcontroller.h utility.h useractivity.o door.o
	g++ $(LFLAGS) door.o doorcontroller.o Controller.o useractivity.o -o Controller

#remove intermediate files
clean:
	rm -f doorcontroller.o Controller.o useractivity.o door.o utility.o
